home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / Reference / DevCon / Milan_1991 / Devcon91.4 / AppShell / include / clib / appshell_protos.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-09-01  |  6.3 KB  |  125 lines

  1. #ifndef CLIB_APPSHELL_PROTOS_H
  2. #define    CLIB_APPSHELL_PROTOS_H
  3.  
  4. /************************************************************************
  5.  *                                                                      *
  6.  *                            Preliminary                               *
  7.  *                        Amiga AppShell (tm)                           *
  8.  *                                                                      *
  9.  *   Copyright (c) 1990  Commodore-Amiga, Inc.  All Rights Reserved.    *
  10.  *                                                                      *
  11.  *   This software and information is proprietary, preliminary, and     *
  12.  *   subject to change without notice.                                  *
  13.  *                                                                      *
  14.  *                            DISCLAIMER                                *
  15.  *                                                                      *
  16.  *   THIS SOFTWARE IS PROVIDED "AS IS".                                 *
  17.  *   NO REPRESENTATIONS OR WARRANTIES ARE MADE WITH RESPECT TO THE      *
  18.  *   ACCURACY, RELIABILITY, PERFORMANCE, CURRENTNESS, OR OPERATION      *
  19.  *   OF THIS SOFTWARE, AND ALL USE IS AT YOUR OWN RISK.                 *
  20.  *   NEITHER COMMODORE NOR THE AUTHORS ASSUME ANY RESPONSIBILITY OR     *
  21.  *   LIABILITY WHATSOEVER WITH RESPECT TO YOUR USE OF THIS SOFTWARE.    *
  22.  *                                                                      *
  23.  *                          Non-Disclosure                              *
  24.  *                                                                      *
  25.  *   This information is not to be disclosed to any other company,      *
  26.  *   individual or party.  Discussion is to be restricted to CBM        *
  27.  *   approved discussion areas, such as a private area on bix           *
  28.  *   dedicated to BETA versions of the Amiga AppShell.                  *
  29.  *                                                                      *
  30.  ************************************************************************
  31.  * appshell_protos.h
  32.  * Copyright (C) 1990,1991 Commodore-Amiga, Inc.
  33.  *
  34.  * C function prototypes for the Amiga AppShell
  35.  *
  36.  */
  37.  
  38.  
  39. /* Message handler initialization */
  40. struct MsgHandler *setup_arexxA ( struct AppInfo *ai , struct TagItem *tl );
  41. struct MsgHandler *setup_dosA ( struct AppInfo *ai , struct TagItem *tl );
  42. struct MsgHandler *setup_idcmpA ( struct AppInfo *ai , struct TagItem *tl );
  43. struct MsgHandler *setup_sipcA ( struct AppInfo *ai , struct TagItem *tl );
  44. struct MsgHandler *setup_toolA ( struct AppInfo *ai , struct TagItem *tl );
  45. struct MsgHandler *setup_wbA ( struct AppInfo *ai , struct TagItem *tl );
  46.  
  47.  
  48. /* Message handler related */
  49. ULONG APSHSignal (struct AppInfo *ai, LONG bit);
  50. BOOL HandleApp ( int argc , char **argv , struct WBStartup *wbm , struct TagItem *anchor );
  51. BOOL HandleAppAsync ( struct TagItem *anchor , struct MsgPort *sipc );
  52. APTR HandlerDataA ( struct AppInfo *ai , struct TagItem *tl );
  53. BOOL HandlerFuncA ( struct AppInfo *ai , struct TagItem *tl );
  54. VOID RemoveMsgPort ( struct MsgPort *mp );
  55.  
  56.  
  57. /* Project related */
  58. BOOL AddProjects ( struct AppInfo *ai , LONG numargs , struct WBArg *args , struct TagItem *tl );
  59. BOOL ExpandPattern (struct AppInfo *,STRPTR,struct TagItem *);
  60. VOID FreeProject ( struct ProjNode *pn );
  61. VOID FreeProjects ( struct AppInfo *ai , struct TagItem *tl );
  62. BOOL GetBaseInfo ( struct AppInfo *ai , int argc , char **argv , struct WBStartup *wbm );
  63. struct ProjNode *GetProjNode ( struct AppInfo *ai , LONG cnt , struct TagItem *tl );
  64. struct DiskObject *IconFromWBArg ( struct WBArg *arg );
  65. struct ProjNode *NewProject ( struct AppInfo *ai , STRPTR anchor , struct TagItem *tl );
  66. BOOL RemoveProject ( struct AppInfo *ai , STRPTR cmd , struct TagItem *tl );
  67. VOID RenumProjects ( struct AppInfo *ai , STRPTR cmd , struct TagItem *tl );
  68. VOID SwapProjNodes ( struct AppInfo *ai , struct ProjNode *sn1 , struct ProjNode *sn2 , struct TagItem *tl );
  69. LONG UpdateProject (struct AppInfo * ai, struct ProjNode * pn, struct WBArg * arg);
  70.  
  71.  
  72. /* Function table */
  73. BOOL AddFuncEntries ( struct AppInfo *ai , struct Funcs *fels );
  74. BOOL AddFuncEntry ( struct AppInfo *ai , struct Funcs *sfe );
  75. VOID FreeFuncEntries ( struct AppInfo *ai );
  76. VOID FreeFuncEntry (struct AppInfo * ai, struct FuncEntry * fe);
  77. struct FuncEntry *GetFuncEntry ( struct AppInfo *ai , STRPTR anchor , ULONG fid );
  78. ULONG GetFuncID ( struct AppInfo *ai , STRPTR anchor );
  79. STRPTR GetFuncName ( struct AppInfo *ai , ULONG id );
  80. BOOL PerfFunc ( struct AppInfo *ai , ULONG fid , STRPTR cmd , struct TagItem *tl );
  81.  
  82.  
  83. /* Intuition related */
  84. VOID APSHClearPointer ( struct AppInfo *ai , struct TagItem *tl );
  85. BOOL APSHGetGadgetInfo ( struct AppInfo *ai , STRPTR wname , STRPTR gname , ULONG *window , ULONG *gadget );
  86. BOOL APSHGetWindowInfo ( struct AppInfo *ai , STRPTR wname , ULONG *window );
  87. VOID APSHSetWaitPointer ( struct AppInfo *ai , struct TagItem *tl );
  88.  
  89.  
  90. /* AppShell object manipulation */
  91. VOID DisposeAPSHObject(struct AppInfo *, APTR);
  92. ULONG GetAPSHAttr(struct AppInfo *, LONG, APTR, APTR);
  93. LONG LockAppInfo (struct AppInfo *ai);
  94. APTR NewAPSHObject(struct AppInfo *, LONG, struct TagItem *);
  95. ULONG SetAPSHAttr(struct AppInfo *, APTR, struct TagItem *);
  96. VOID UnlockAppInfo (LONG key);
  97.  
  98.  
  99. /* Simple InterProcess Communication */
  100. APTR CloseSIPC ( APTR ash , struct TagItem *tl );
  101. APTR OpenSIPC ( struct AppInfo *ai , STRPTR name , struct TagItem *tl );
  102. BOOL SendSIPCMessage ( STRPTR name , ULONG type , VOID *data );
  103. BOOL SendSIPCMessageP ( struct MsgPort *port , struct MsgPort *reply , ULONG type , VOID *data );
  104.  
  105.  
  106. /* Text table */
  107. STRPTR GetText ( struct AppInfo *ai , ULONG baseid , ULONG tid , STRPTR def );
  108. BOOL NotifyUser ( struct AppInfo *ai , STRPTR msg , struct TagItem *tl );
  109. STRPTR PrepText ( struct AppInfo *ai , ULONG baseid , ULONG tid , int va_alist );
  110.  
  111.  
  112. /* Parsing and string manipulation */
  113. STRPTR BuildParseLine ( STRPTR line , ULONG *argc , STRPTR *argv );
  114. struct Node *FindNameI (struct List *, STRPTR);
  115. STRPTR FindType ( STRPTR *array , STRPTR name , STRPTR defvalue );
  116. VOID FreeParseLine ( STRPTR clone );
  117. VOID LMatchEnd (struct AnchorList * al);
  118. LONG LMatchFirst (struct List * list, STRPTR pat, struct AnchorList * al);
  119. LONG LMatchNext (struct AnchorList * al);
  120. BOOL MatchValue ( STRPTR type , STRPTR value );
  121. ULONG ParseLine ( STRPTR line , STRPTR *argv );
  122. BOOL QStrCmpI ( STRPTR str1 , STRPTR str2 );
  123.  
  124. #endif /* CLIB_APPSHELL_PROTOS_H */
  125.